import axios from 'axios';
import store from 'store';

const BASE_URL = 'http://39.101.163.227:8000';
// const BASE_URL = 'http://127.0.0.1:8000';
// const BASE_URL = 'http://127.0.0.1:8000';
// 构建axios实例
const instance = axios.create({
  baseURL: BASE_URL,  // 该处url会根据开发环境进行变化（开发/发布）
  timeout: 10000  // 设置请求超时连接时间
});

instance.interceptors.request.use(function (config) {
  const token = store.get('token');
  if (token ) { // 判断是否存在token，如果存在的话，则每个http header都加上token
    config.headers.authorization = token;  //请求头加上token
  }
  return config;
}, function (error) {
  console.log(error, 'req')
  // 对请求错误做些什么
  return Promise.reject(error.response);
});


// response interceptor
instance.interceptors.response.use(
  response => {
    return response
  },
  error => {
    const errRes = error.response;
    console.log(errRes);
    if (errRes === undefined) {
      return Promise.reject({data: {name: '网络错误!'}});
    } else {
      // 登录失效时
      if (errRes.data.message === 'jwt expired') {
        setTimeout(() => {
          window.location.href='/admin/login';
          store.remove('token');
        }, 1000);
      }return Promise.reject(errRes);
    }
  }
)

export default instance;
